草庐IT

MyBatis 动态SQL

全部标签

c# - LINQ 生成具有重复嵌套选择的 SQL

我是.NETEntityFramework的新手,我认为它很棒,但不知何故我遇到了这个奇怪的问题(抱歉是西类牙语,但我的程序是用那种语言编写的,无论如何这没什么大不了的,只是列或属性名称):我正在执行正常的LINQToEntities查询以获取UltimaConsulta列表,如下所示:varquery=fromucinbd.UltimasConsultasselectuc;顺便说一下,UltimasConsultas是一种观点。问题是LINQ正在为查询生成此SQL:SELECT[Extent1].[IdPaciente]AS[IdPaciente],[Extent1].[Nombre

c# - Dapper - 如何使用动态对象

我正在使用Dapper从SQL进行查询,并有一个这样的动态查询:varreturns=conn.Query(dynamicQuery);然后当我循环浏览结果时,我想知道我正在处理的日期类型是什么,所以我尝试执行以下操作:foreach(varresultinresults){MessageBox.Show(result.GetType().ToString());}但它总是在MessageBox上失败并出现错误Cannotperformruntimebindingonanullreference。如果我改用它:varreturns=conn.Query(dynamicQuery);然后

c# - Json.NET 的 Pascal 大小写动态属性

这是我的:usingNewtonsoft.Json;varjson="{\"someProperty\":\"somevalue\"}";dynamicdeserialized=JsonConvert.DeserializeObject(json);这很好用:Assert.That(deserialized.someProperty.ToString(),Is.EqualTo("somevalue"));我希望它在不更改json的情况下工作(属性的第一个字母大写):Assert.That(deserialized.SomeProperty.ToString(),Is.EqualTo("

c# - SQL Server 和动态搜索的性能

我想知道在sql中使用动态值进行查询的最佳实践是什么,假设我有一个Value(nvarchar(max))值:“912345678”select*fromAllDatawhereNumberlike'%912345678%'值:“迈克尔”select*fromAllDatawhereNamelike'%Michael%'值:“街道编号10”select*fromAllDatawhereAddresslike'%Streetnumber10%'这个方法有点慢,因为如果没有像这样的%搜索一个有9位数字的数字会更快select*fromAllDatawhereNumberlike'91234

c# - 如何通知Windows服务(C#)数据库表更改(sql 2005)?

我在SQL2005数据库中有一个负载很重的表(很多插入/更新/删除)。我想对所有这些更改进行一些后期处理,以尽可能接近实时(异步操作,以免以任何方式锁定表)。我看过许多可能的解决方案,但似乎找不到适合的整洁解决方案。后处理的种类也相当繁重,以至于Windows侦听器服务实际上会将处理传递给许多机器。但是,应用程序的这一部分已经启动并运行,完全是异步的,不是我需要的帮助-我只想提及这一点,因为它会影响设计决策,因为我们不能只在其中加载一些CLR对象。DB完成处理。因此,简单的问题仍然存在:表中的数据更改,我想在远程服务器上的C#代码中进行一些处理。目前,我们已经提出了使用sql触发器的方

c# - 由于缺少 SSL 加密,连接到 SQL Azure 数据库失败

我正在Mac上学习ASP.NET5(vNext)。最后一天,我一直在尝试连接到我的SQLAzure数据库。在那次尝试中,我一直在使用以下代码:varserverName="[protected]";vardbName="[protected]";varuserId="[protected]";varpassword="[protected]";varsql="SELECT*FROMCustomer";using(vardatabase=newSqlConnection("Server=tcp."+serverName+".database.windows.net,1433;Databa

c# - 如何创建一个属性名称动态确定的匿名对象?

给定一个值数组,我想创建一个具有基于这些值的属性的匿名对象。属性名称很简单"pN"其中N是数组中值的索引。例如给定object[]values={123,"foo"};我想创建匿名对象new{p0=123,p1="foo"};我能想到的唯一方法是使用switch或if链接到合理数量的参数来支持,但我想知道是否有更优雅的方法来做到这一点:object[]parameterValues=newobject[]{123,"foo"};dynamicvalues=null;switch(parameterValues.Length){case1:values=new{p0=parameterV

c# - 为存储过程创建可重用的 Linq To SQL

我正在处理一个需要使用LinqToSQL的新项目。我被要求创建一个可用于执行存储过程的通用或可重用的LinqtoSQL类。在ADO.Net中,我知道如何通过传递一个我想执行的字符串来做到这一点,我可以为每个需要运行的查询传递不同的字符串:SqlCommandcmd=newSqlCommand("myStoredProc",conn);//etc,etc我正在为如何在LinqToSQL中创建类似的东西而苦苦挣扎,如果可能的话。我创建了一个.dbml文件并向其中添加了我的存储过程。因此,我可以使用以下代码返回结果:publicListGetData(stringconnectName){M

c# - 为什么 lambda 比 IL 注入(inject)动态方法快?

我刚刚构建了动态方法-见下文(感谢其他SO用户)。看起来Func创建为动态方法,IL注入(inject)比lambda慢2倍。有人知道为什么吗?(编辑:这是在VS2010中作为版本x64构建的。请从控制台而不是从VisualStudioF5内部运行它。)classProgram{staticvoidMain(string[]args){varmul1=IL_EmbedConst(5);varres=mul1(4);Console.WriteLine(res);varmul2=EmbedConstFunc(5);res=mul2(4);Console.WriteLine(res);dou

c# - 是否可以将 Type.GetType 与动态加载的程序集一起使用?

假设我有这么一小段代码:publicstaticvoidLoadSomething(Typet){vart1=Type.GetType(t.AssemblyQualifiedName);vart2=t.Assembly.GetTypes().First(ta=>ta.AssemblyQualifiedName==t.AssemblyQualifiedName);}发生的情况是t1为null而t2为notnull。我很困惑,因为如果我这样调用它......LoadSomething(typeof(SomeObject));然后两者都为空,但我实际做的更像是这样(不是真的,这被大大简化了,